#include "../inc/Calib.h"
#include <iostream>
#include <stdio.h>
Calib::Calib()
{
  
}

Calib::Calib(SDL_Surface * f)
{
  fond = f;
}

Calib::~Calib()
{

}
 
void Calib::drawEmptyRect(int j , int R, int G, int B)
{
  if (j==1)
    {
      SDL_Rect ligneHaut;
      ligneHaut.x = position1.x-1;
      ligneHaut.y = position1.y-1;
      ligneHaut.w = position1.w;
      ligneHaut.h = 2;
      
      SDL_FillRect(fond, &ligneHaut, SDL_MapRGB(fond->format, R, G, B));
      
      SDL_Rect ligneDroite;
      ligneDroite.x = position1.x+position1.w-1;
      ligneDroite.y = position1.y-1;
      ligneDroite.w =2;
      ligneDroite.h = position1.h;
      
      SDL_FillRect(fond, &ligneDroite, SDL_MapRGB(fond->format, R, G, B));
      
      SDL_Rect ligneGauche;
      ligneGauche.x = position1.x-1;
      ligneGauche.y = position1.y-1;
      ligneGauche.w =2;
      ligneGauche.h = position1.h;
	
      SDL_FillRect(fond, &ligneGauche, SDL_MapRGB(fond->format, R, G, B));
      
      SDL_Rect ligneBas;
      ligneBas.x = position1.x-1;
      ligneBas.y = position1.y+position1.h-1;
      ligneBas.w = position1.w;
      ligneBas.h =2;
      
      SDL_FillRect(fond, &ligneBas, SDL_MapRGB(fond->format, R, G, B));
    }
  else
    {
      SDL_Rect ligneHaut;
      ligneHaut.x = position2.x-1;
      ligneHaut.y = position2.y-1;
      ligneHaut.w = position2.w;
      ligneHaut.h = 2;
      
      SDL_FillRect(fond, &ligneHaut, SDL_MapRGB(fond->format, R, G, B));
      
      SDL_Rect ligneDroite;
      ligneDroite.x = position2.x+position2.w-1;
      ligneDroite.y = position2.y-1;
      ligneDroite.w =2;
      ligneDroite.h = position2.h;
      
      SDL_FillRect(fond, &ligneDroite, SDL_MapRGB(fond->format, R, G, B));
      
      SDL_Rect ligneGauche;
      ligneGauche.x = position2.x-1;
      ligneGauche.y = position2.y-1;
      ligneGauche.w =2;
      ligneGauche.h = position2.h;
	
      SDL_FillRect(fond, &ligneGauche, SDL_MapRGB(fond->format, R, G, B));
      
      SDL_Rect ligneBas;
      ligneBas.x = position2.x-1;
      ligneBas.y = position2.y+position2.h-1;
      ligneBas.w = position2.w;
      ligneBas.h =2;
      
      SDL_FillRect(fond, &ligneBas, SDL_MapRGB(fond->format, R, G, B));
    }
}

//écrit les rectangles sur le fond
void Calib::drawRect(SDL_Rect & rec,int j , int r, int g , int b)
{
  if(j==1)
    {
      position1.x = rec.x;
      position1.y = rec.y;
      position1.w = rec.w; 
      position1.h = rec.h;      
      drawEmptyRect(j,r,g,b);
    }
  else
    {
      position2.x = rec.x;
      position2.y = rec.y;
      position2.w = rec.w;  
      position2.h = rec.h;
      drawEmptyRect(j,r,g,b);

    }
}

int Calib::est_dans_rectangle(int x, int y,int joueur)
{
  if(joueur == 1)
    {

      return ( x < (position1.x + (position1.w/2 +10)) &&
	       x > (position1.x + (position1.w/2 -10)) &&
	       y < (position1.y + (position1.h/2 + 10) ) &&
		   y > (position1.y + (position1.h/2-10) ));
    }
  else
    {
      
      return ( x < (position2.x + (position2.w/2 +10) )&&
	       x > (position2.x + (position2.w/2 -10) )&&
	       y < (position2.y + (position2.h/2 +10) )&&
		   y > (position2.y + (position2.h/2 -10) ));
    }
  return 0;
}
